// 强类型与弱类型（类型安全）
// 静态类型与动态类型（类型检查）

// 类型安全：分为强类型和弱类型
// 强类型：语言层面限制函数的参数类型必须与形参类型相同
// 弱类型：语言层面不会限制实参的类型
// 由于这种强弱类型之分根本不是某一个权威机构的定义，
// 通俗的理解：强类型有更强的类型约束，而弱类型中几乎没有什么约束
// 即：强类型的语言中不允许任意的隐式类型转换，而在弱类型语言则允许任意的数据隐式类型转换

// 注： 变量类型允许随时改变的特点，不是强弱类型的差异

// Flow 静态类型检查方案：一个检测语言的工具


let a = "1"
console.log(typeof(a - 0));
console.log(typeof(a + 1));
console.log(typeof(a * 2));
console.log(typeof(a / 2));